package com.fei.yygh.cmn.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.fei.yygh.cmn.mapper.DitMapper;
import com.fei.yygh.cmn.service.DitService;
import com.fei.yygh.model.cmn.Dict;
import com.fei.yygh.vo.cmn.DictEeVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
 * 读取类，用于读取excel文件
 */
public class DictListener extends AnalysisEventListener<DictEeVo> {


    private DitMapper ditMapper;

    // 显式构造函数注入 您当前在 DictListener 中使用 @Autowired 注入 DitMapper，
    // 但 EasyExcel 的监听器是通过 new 手动创建的（非 Spring 管理），导致依赖注入失效。
    public DictListener(DitMapper ditMapper) {
        this.ditMapper = ditMapper;
    }

    //读取excel数据，从第二行开始，一行一行读取
    @Override
    public void invoke(DictEeVo dictEeVo, AnalysisContext analysisContext) {
        //将读取到的数据添加到数据库中
        Dict dict = new Dict();
        BeanUtils.copyProperties(dictEeVo, dict);
        ditMapper.insert(dict);
    }

    //读取完成之后执行的方法
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}
